package com.delivery.deliverysystem.pojo.DAO;

import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.math.BigDecimal;
import java.time.LocalDate;
import java.time.LocalDateTime;
import java.util.Date;
import java.util.List;

/**
 * 接收前端传来的新增、编辑送货单
 */
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class DeliveryDTO {

    @ApiModelProperty("送货单号")
    private String deliveryId;

    /**
     * 客户编号
     */
    @ApiModelProperty("客户编号")
    private String clientId;
    /**
     * 客户名称
     */
    @ApiModelProperty("客户名称")
    private String clientName;
    /**
     * 客户地址
     */
    @ApiModelProperty("客户地址")
    private String clientAddress;
    /**
     * 联系人
     */
    @ApiModelProperty("联系人")
    private String contact;
    /**
     * 联系电话
     */
    @ApiModelProperty("联系电话")
    private String phone;
    /**
     * 部门
     */
    @ApiModelProperty("部门")
    private String department;
    /**
     * 业务员
     */
    @ApiModelProperty("业务员")
    private String salesman;
    /**
     * 订单号
     */
    @ApiModelProperty("订单号")
    private String orderId;
    /**
     * 备注
     */
    @ApiModelProperty("备注")
    private String remark;
    /**
     * 送货日期
     */
    @ApiModelProperty("送货日期")
    private LocalDate deliveryDate;
    /**
     * 付款方式
     */
    @ApiModelProperty("付款方式")
    private String payMethod;

    @ApiModelProperty("工件名")
    private String fileName;

    /**
     * 送货单选择的产品列表
     */
    private List<DeliveryDetailDTO> productList;

    /**
     * 制单人
     */
    @ApiModelProperty("制单人")
    private String username;
    /**
     * 制单日期
     */
    @ApiModelProperty("制单日期(年月日时分秒)")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private LocalDateTime createDate;

    /**
     * 款数
     */
    @ApiModelProperty("款数")
    private Integer styleNum;
    /**
     * 总数量
     */
    @ApiModelProperty("总数量")
    private Integer totalNum;
    /**
     * 总金额
     */
    @ApiModelProperty("总金额")
    private BigDecimal totalPrice;

}
